<?php

/**
 * JugadorDePartido form.
 *
 * @package    ehockey
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class JugadorDePartidoForm extends BaseJugadorDePartidoForm
{
	public function configure()
	{
		sfProjectConfiguration::getActive()->loadHelpers(array('Url'));
		$this->widgetSchema['ficha'] = new sfWidgetFormLabelWithHidden();
		$this->defaults['ficha'] = $this->getObject()->getJugadorId();
		$this->validatorSchema['ficha'] = new sfValidatorPass();
		$partido = $this->getOption('partido', null);
		if ($partido != null) {

				
			$this->widgetSchema['partido_id'] = new sfWidgetFormInputHidden();
			$this->defaults['partido_id'] = $partido->id;
				
			if (!$this->isNew()) {
				$this->widgetSchema['jugador_id'] = new sfWidgetFormChoiceReadOnly(array('model' => $this->getRelatedModelName('Jugador')));
				$this->widgetSchema['numero_de_camiseta'] = new sfWidgetFormLabelWithHidden();
			} else {
				$this->widgetSchema['numero_de_camiseta']->setAttribute('class', 'small_input');
				$equipo = $this->getEquipo($partido);
				if ($equipo != null) {
					// Me setearon un equipo, soy un subform. Voy a filtrar la lista de jugadores
					// para que sea solo la del equipo
					$this->widgetSchema['equipo_id'] = new sfWidgetFormInputHidden();
					$this->widgetSchema['jugador_id'] = new sfWidgetFormDoctrineJQueryAutocompleter(
					array('model' => 'Jugador',
				  "url"   => url_for("jugador/listarajax?club=" . $equipo->Club->id . "&sector=" . $equipo->sector)	
					));
					$this->defaults['equipo_id'] = $equipo->id;
				}
			}

			$this->widgetSchema['verdes']->setAttribute('class', 'small_input');
			$this->widgetSchema['amarillas']->setAttribute('class', 'small_input');
			$this->widgetSchema['rojas']->setAttribute('class', 'small_input');
				
			//			  $this->validatorSchema['amarillas'] = new sfValidatorAnd(array(
			//			    $this->validatorSchema['amarillas'],
			//			    new TarjetasAmarillasValidator(array('a' => 'amarillas' , array('invalid' => 'La cantidad de tarjetas amarillas es invalida esta mal'))),
			//			  ));
				
				
				
			$this->mergePostValidator(new TarjetasVerdesValidator(array('v' => 'verdes' , array('invalid' => 'La cantidad de tarjetas verdes es invalida esta mal'))));
			$this->mergePostValidator(new TarjetasAmarillasValidator(array('a' => 'amarillas' , array('invalid' => 'La cantidad de tarjetas amarillas es invalida esta mal'))));
			$this->mergePostValidator(new TarjetasRojasValidator(array('r' => 'rojas' , array('invalid' => 'La cantidad de tarjetas rojas es invalida esta mal'))));

		}
	}
	
	protected function getEquipo($partido) {
		return null;
	}

}
